package cc.rengu.igas.bomp.facade;

import cc.rengu.igas.bomp.facade.request.*;
import cc.rengu.igas.bomp.facade.response.*;
import cc.rengu.igas.bomp.facade.result.Result;

/**
 * Created by zhangxuran on 2020/03/28
 */
public interface BompMchntPublicDealService {
    /**
     * 商户入驻派单通知
     *
     * @param mchntEntryDispatchRequest 商户入驻派单通知请求类
     * @return 商户入驻派单通知结果
     */
    Result<MchntEntryDispatchResponse> mchntEntryDispatch(MchntEntryDispatchRequest mchntEntryDispatchRequest);

    /**
     * 间联商户批量导出数据查询
     *
     * @param mchntBatchExportRequest 间联商户批量导出数据查询请求类
     * @return 间联商户批量导出数据查询查询结果
     */
    Result<MchntBatchExportResponse> mchntBatchExport(MchntBatchExportRequest mchntBatchExportRequest);

    /**
     * 系统参数查询
     *
     * @param paramQueryRequest 系统参数查询请求类
     * @return 系统参数查询结果
     */
    Result<ParamQueryResponse> paramQuery(ParamQueryRequest paramQueryRequest);

    /**
     * 商户是否能开通D0及提现查询
     *
     * @param mchntD0QueryRequest 商户是否能开通D0及提现查询请求类
     * @return 商户是否能开通D0及提现查询结果
     */
    Result<MchntD0QueryResponse> mchntD0Query(MchntD0QueryRequest mchntD0QueryRequest);

    /**
     * 刷新缓存
     *
     * @param reloadCacheRequest 刷新缓存请求类
     * @return 刷新缓存结果
     */
    Result<ReloadCacheResponse> reloadCache(ReloadCacheRequest reloadCacheRequest);

    /**
     * 间联商户批量导入交易
     *
     * @param mchntBatchImportRequest 请求
     * @return 响应
     */
    Result<MchntBatchImportResponse> mchntBatchImport(MchntBatchImportRequest mchntBatchImportRequest);
}
